System and process for image rescaling using adaptive interpolation kernel with sharpness and overshoot control

ABSTRACT

Provided are a digital video rescaling system, a method of rescaling video images, and a chip comprising a computer executable medium embedded therein computer executable instructions for rescaling video images.

CROSS-REFERENCE TO RELATED APPLICATION(S) AND CLAIM OF PRIORITY

This application claims the benefit under 35 U.S.C. §119(a) to aSingapore patent application filed in the Intellectual Property Officeof Singapore on Dec. 31, 2008 and assigned Serial No. 200809685-1, theentire disclosure of which is hereby incorporated by reference.

TECHNICAL FIELD OF THE INVENTION

The present invention generally relates to the field of digital imageprocessing, and more particularly to a system and process for rescalingdigital images using adaptive interpolation kernel with sharpness andovershoot control.

BACKGROUND OF THE INVENTION

Digital images have become more popular in the field of image displaybecause they offer clarity and less distortion during processing.Furthermore, a wider range of image processing algorithms can be appliedto digital images. Interpolation is a common stage in image processingto improve the appearance of the processed image on the output imagingmedium. Interpolation is often performed during rescaling or resizing ofdigital images.

Rescaling or resizing of digital images includes magnification orreduction of image. For example, large screen displays have a nativeresolution that reaches or exceeds the well-known high-definition TV(HDTV) standard. In order to display a low-resolution digital image on alarge screen display, it is desirable to rescale the image to a fullscreen resolution.

Traditionally, linear interpolation techniques such as bilinear orbicubic interpolation are used to rescale digital images. However, theselinear interpolation techniques have certain drawbacks. For example, theinterpolated image may suffer from blurred edges, resulting in a loss inimage quality. Furthermore, artifacts such as overshoot and undershootmay be introduced around the edge areas. Therefore, many techniques havebeen proposed to improve the subjective quality of the interpolatedimages by using adaptive (interpolation) algorithms. These adaptivealgorithms minimize loss in image quality by adapting the interpolationcoefficients in the algorithms to better match the local structuresaround the edges of the image.

One approach/method for adaptive interpolation of image data is byselecting an appropriate interpolation kernel function from a pluralityof different interpolation kernel functions based on one or morefactors. The factors can be the input image format, the output imagingmedia, or the appearance characteristic of the interpolated image data.

Another approach/method (to provide a representation of image data) isby using a scaled kernel. The scaled kernel is constructed bytransforming a kernel from a first range to a second range, where thesecond range is smaller than the first range. This method can improvethe sharpness of the image data without any overshoot problem. However,transforming a kernel from one range to another range creates adead-zone in the transformed range, which may result in an un-naturaledge effect in the interpolated image.

Yet another approach/method (for digital image interpolation andsharpness enhancement) is by combining two interpolated images withsharpness level control. The two interpolated images are generated bytwo interpolation filters with different cut-off frequencies. Thismethod will lead to overshoot and undershoot artifacts near the edgeareas when using large sharpness control parameters.

Generally, the three methods as discussed above address the issues ofloss in image quality by applying effective global sharpness control. Inglobal sharpness control, the control parameter is fixed for all thepixels. However, the effect of local sharpness control for differentcharacteristics of the image content has not been adequately addressed.For example, while the three methods enhance the sharpness of the edgecomponents, they also tend to amplify the noise in the signal.Furthermore, the three methods are unable to control the sharpness levellocally through local sharpness control, thereby causing the weak edgesto be enhanced without over-enhancing the strong edges. In localsharpness control, the control parameter is different for eachindividual pixel. As a result, the methods produce artificial-lookingimages.

One approach for local sharpness control is to apply an adaptiveenhancement process on different edge magnitudes to achieve good edgeenhancement. However, the soft edges can add depth perceptibility to thedigital image, and therefore this approach is not suitable forsteepening. Furthermore, the hard edges are already steep enough todemand further enhancement.

As described above, conventional linear interpolation techniques and theexisting adaptive techniques suffer from blurred edges or artifactsintroduced around edge areas, such as overshoot and undershoot. Theconventional techniques generally address the effectiveness of globalsharpness control which is based only on different formats of inputimage data or different types of the output display media. They are notconcerned about the local image content. Hence, they are noisesensitive.

In the case of downscaling, a number of input pixels in the originalimage are transformed to a single output pixel in the down-sampledimage. The frequency sampling interval must be chosen very short basedon Nyquist sampling theory in order to transform the entire data frominput to output image, which is not feasible in most cases, and aliasingartifacts can be introduced.

As shown in FIG. 11, a conventional image size changing apparatus 1includes a combination of the horizontal interpolator 2 and the verticalinterpolator 5 for interpolating an input image signal SI in both thehorizontal and vertical directions using the horizontal and verticalinterpolation factors received from the horizontal interpolator factorgenerator 3 and the vertical interpolator factor generator 6,respectively. Using the horizontal size change rate received from thehorizontal magnification storage 4 and the sync signal timed with theinput image signal SI, the horizontal interpolator factor generator 3produces three horizontal interpolation factors hw1, hw2, and hw3, eachhaving a ratio between a horizontal component of the visual areadetermined by image data of an original image and a horizontal componentof the visual area determined by image data of its size-changed image.The horizontal interpolation factors hw1, hw2, and hw3 are timed with aclock signal of which the frequency is two times greater than the pixelclock signal of the input image signal SI. Also produced by thehorizontal interpolator factor generator 3 is a horizontal pixel enablesignal indicative of effective ones of the pixel data from thehorizontal interpolator 2 to be received by the vertical interpolator 5and a read/write controller 9. Using the vertical size change ratereceived from the vertical magnification storage 7 and the syn signaltimed with the input image signal SI, the vertical interpolator factorgenerator 6 produces three vertical interpolation factors vw1, vw2, andvw3, each having a ratio between a vertical component of the visual areadetermined by image data of an original image and a vertical componentof the visual area determined by image data of its size-changed image.The vertical interpolation factors vw1, vw2, and vw3 are timed with thehorizontal sync signal of the input image signal SI. Also produced bythe vertical interpolator factor generator 6 is a vertical pixel enablesignal indicative of effective ones of the pixel data from the verticalinterpolator 5 to be received by the read/write controller 9. Theread/write controller 9 is responsive to the horizontal pixel enablesignal from the horizontal interpolator factor generator 3, the verticalpixel enable signal from the vertical interpolator factor generator 6,and the sync signal of the input image SI for controlling the writing ofthe pixel data received from the vertical interpolator 5 into the fieldmemory 8. Each interpolator may comprise a group of latch circuits fordelaying the input image signal by one pixel period or line memories fordelaying the input image signal by one horizontal period, multipliers,and an adder.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments according to the present invention will now bedescribed with reference to the Figures, in which like referencenumerals denote like elements.

FIG. 1 illustrates a block diagram of a digital video rescaling systemin accordance with one embodiment of the present invention.

FIG. 2 illustrates a block diagram of the adaptive spline interpolationkernel in accordance with one embodiment of the present invention.

FIG. 3 illustrates the spline interpolation using four support pixels.

FIG. 4 illustrates the interpolation curves with different sharpnesscontrol parameter values.

FIG. 5 illustrates the interpolation curves with different overshootcontrol parameter values.

FIG. 6 illustrates a block diagram of the adaptive spline interpolationkernel in accordance with one alternative embodiment of the presentinvention.

FIG. 7 illustrates neighbourhood pixels for local gradient estimation.

FIG. 8 illustrates the graphical relationship between the localsharpness control parameter and local gradient values.

FIG. 9 illustrates a block diagram of the anti-aliasing filter inaccordance with one embodiment of the present invention.

FIG. 10 illustrates the list of coefficients of eight anti-aliasing lowpass 7-tap filters according to the predetermined range of downscalingfactors.

FIG. 11 shows a conventional image size changing apparatus.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The present invention may be understood more readily by reference to thefollowing detailed description of certain embodiments of the invention.

The present invention provides an effective process of video imagerescaling. This process uses a controllable interpolation kernel togenerate the interpolated outputs ranging from relatively sharp at oneend to relatively soft at the other end. The levels of sharpness andovershoot can be either selected by users using a set of controlparameters or adaptively steered by the image contents. In addition, adownscaling process with anti-aliasing low pass filtering is used togenerate the downsampled images without aliasing artifacts.

The present invention provides a system for video image rescaling usinga controllable interpolation kernel. The system comprises a global andlocal sharpness control functionality to generate the interpolatedimages with the visual qualities ranging from relative sharpness tosoftness. Furthermore, the system comprises an overshoot controlfunctionality to adjust the levels of overshoot/undershoot effects alongthe edges in the interpolated images. In addition, a set ofanti-aliasing low pass filters are designed and conducted according to acertain range of downscaling factors.

Now referring to FIG. 1, the rescaling system comprises an adaptivespline interpolation kernel 101, a sharpness control module 102, anovershoot control module 103, a local sharpness control module 109, ananti-aliasing filter 106, and an input module 108. The adaptive splineinterpolation kernel 101 is coupled to the input module 108 to receiveinput image data and generate interpolated pixels. The sharpness controlmodule 102 and overshoot control module 103 are configured to generatecontrol parameters for the adaptive spline interpolation kernel 101 toimprove the sharpness, and reduce overshoot/undershoot artifacts in edgeareas of the image. The local sharpness control module 109 is providedto make the sharpness control module 102 adaptive to the local imagecontent. In addition, the anti-aliasing filter 106 is coupled betweenthe input module 108 and the adaptive spline interpolation kernel 101,wherein the anti-aliasing filter 106 comprises a set of low pass filtersto reduce aliasing artifacts during image downscaling. The interpolationphase calculation 110 is used to calculate the phase value (S) of thepixel to be interpolated in the interpolation processing.

The adaptive spline interpolation kernel 101 uses a controllable thirdorder polynomial function based on four input support pixels receivedfrom the input image data to generate an interpolated pixel. Oneembodiment of the implementation of the adaptive spline interpolationkernel 101 is shown in FIG. 2, wherein the adaptive spline interpolationkernel 101 calculates the interpolated pixel y₁(x) using a third orderpolynomial function with sharpness control parameter Kshp. Thecalculation is performed according to the following Equation 1:

$\begin{matrix}{{{y_{1}(x)} = {\sum\limits_{{n = A},B,C,D}{y_{n}*{f_{n}\left( {s,{Kshp}} \right)}}}},} & \left\lbrack {{Eqn}.\mspace{14mu} 1} \right\rbrack\end{matrix}$

where y_(A), y_(B), y_(C) and y_(D) are four support pixels from inputimage data; s is the distance from interpolation position to theposition of the support pixel y_(b) as shown in FIG. 3; andf_(n)(s,Kshp) (n=A, B, C, D) are four control synthesis functions whichcan be expressed by the following Equations 2-5:

f _(A)(s,Kshp)=Kshp*(−s ³+2*s ² −s)/2,  [Eqn. 2]

f _(B)(s,Kshp)=(3*Kshp*s ³−5*Kshp*s ²+2*(Kshp−1)*s+2)/2,  [Eqn. 3]

f _(C)(s,Kshp)=(−3*Kshp*s ³+4*Kshp*s ²+(2−(Kshp)*s)/2, and  [Eqn. 4]

f _(D)(s,Kshp)=Kshp*(s ³ −s ²)/2.  [Eqn. 5]

Kshp is the global sharpness control parameter generated from thesharpness control module 102, wherein Kshp is used to adjust thesharpness of the rescaled image. Kshp has a predetermined range ofnegative to positive values to control the visual quality of therescaled images from soft to sharp, wherein a negative Kshp produces asofter rescaled image and a positive Kshp produces a sharper rescaledimage. FIG. 4 illustrates some examples of the interpolation curvesdriven by different values of the global sharpness control parameterKshp, wherein the values of Kshp are set at 0.0, 1.0 and 5.0. A largerKshp value (e.g., Kshp=5.0) produces a steeper interpolation curve ascompared to a smaller Kshp value (e.g, Kshp=1.0), and the steeperinterpolation curve gives a sharper rescaled image. Therefore, thesetting of Kshp value can effectively control the sharpness of theinterpolation curve. The value of Kshp can be determined by the user ofthe system or by the micro-controller (not shown) in the system.

From FIG. 4, it can be observed that large values of Kshp produceovershoot 401 and undershoot 402 effects. Strong overshoot andundershoot effects might result in an artificial-looking rescaled image.Hence, an overshoot/undershoot control parameter Kovs is provided tocontrol the overshoot and undershoot effects.

Referring back to FIG. 2, the adaptive spline interpolation kernel 101comprises a max-min calculation module 202, a comparator 203, and amultiplier 204. The max-min calculation module 202 is used to calculatethe maximum value and the minimum value of the support pixels y_(B) andy_(C). The outputs of the max-min calculation module 202 are thencompared with the output y₁(x) of the kernel 201 in comparator 203 togenerate the output y₂(x) according to the following Equation 6:

$\begin{matrix}{{y_{2}(x)} = \left\{ \begin{matrix}{\max \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} > {\max \left( {y_{B},y_{C}} \right)}} \right)} \\{\min \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} < {\min \left( {y_{B},y_{C}} \right)}} \right)} \\{y_{1}(x)} & {{else}.}\end{matrix} \right.} & \left\lbrack {{Eqn}.\mspace{14mu} 6} \right\rbrack\end{matrix}$

The outputs y₁(x) and y₂(x) are then subtracted to produce an output(y₁(x)−y₂(x)). The multiplier 204 multiplies the output (y₁(x)−y₂(x)) bythe overshoot control parameter Kovs to produce the outputKovs*(y₁(x)−y₂(x)). Thereafter, Kovs*(y₁(x)−y₂(x)) is added to y₂(x) togenerate the final output y(x) with sharpness and overshoot controlaccording to the following Equation 7:

y(x)=Kovs*(y ₁(x)−y ₂(x))+y ₂(x).  [Eqn. 7]

FIG. 5 illustrates some examples of the interpolation curves having thesame Kshp=5.0 but driven by different values of Kovs, wherein the valuesof Kovs are set at 0.01, 0.5 and 1.0. A smaller Kovs value (e.g.,Kovs=0.01) creates a larger reduction of the overshoot 401 andundershoot 402 effects. Therefore, the setting of the Kovs value caneffectively control the overshoot and undershoot of the interpolationcurve, thereby allowing the rescaling system to produce a morenatural-looking image.

An alternative embodiment of the adaptive spline interpolation kernelwith sharpness control 201 is shown in FIG. 6, wherein the adaptivespline interpolation kernel with sharpness control 201 comprises akernel look up table (KernelLUT) 601, a spline interpolation module 602,and a linear interpolation module 603. The adaptive spline interpolationkernel with sharpness control 201 uses the KernelLUT 601 to reduce thecomplexity of the interpolation process. KernelLUT 601 is a look uptable which stores the values of four control synthesis functions. Thecontents of a look up table can be calculated by the following Equations8-11:

f _(A)(s)=(−s ³+2*s ² −s)/2,  [Eqn. 8]

f _(B)(s)=(3*s ³−5*s ²+2)/2,  [Eqn. 9]

f _(C)=(−3*s ³+4*s ² +s)/2, and  [Eqn. 10]

f _(D)(s)=(s ³ −s ²)/2.  [Eqn. 11]

The size of this look up table is dependent on the resolution ofinterpolation, which is initialized at the beginning of the rescalingprocess. The spline interpolation module 602 is used to calculate theinterpolated pixel value y_(c)(X) using the KernelLUT 601. Theinterpolation can be obtained according to the following Equation 12:

y _(c)(x)=y(A)*f _(A)(s)+y(B)*f _(B)(s)+y(C)*f _(C)(s)+y(D)*f_(D)(s).  [Eqn. 12]

The linear interpolation 603 is used to calculate the interpolated pixelvalue y_(t)(x) which can be obtained according to the following Equation13:

y _(t)(x)=(1−s)*y(B)+s*y(C).  [Eqn. 13]

The outputs y_(c) and y_(t)(x) are then subtracted to produce an output(y_(c)(x)−y_(t)(x)). The multiplier 604 multiplies the output(y_(c)(x)−y_(t)(x)) by the sharpness control parameter Kshp to producethe output Kshp*(y_(c)(x)−y_(t)(x)). Thereafter,Kshp*(y_(c)(x)−y_(t)(x)) is added to y_(t)(x) to generate the finaloutput y₁(x) with sharpness control according to the following Equation14:

y ₁(x)=Kshp*(y _(c)(x)−y _(t)(x))+y _(t)(x).  [Eqn. 14]

Referring back to FIG. 1, the rescaling system comprises a localsharpness control module 109 to make the sharpness control module 102adaptive to the local image content. Generally, the sharpness control isapplied according to the local gradient magnitude (Gn) and the noiselevel (Sigma) estimated from the digital picture or video sequence. Thelocal sharpness control module 109 comprises a local gradient estimationmodule 104, a noise level estimator module 107, and a local sharpnesscontrol parameter function module 105.

The local gradient estimation module 104 is coupled to the input module108 to estimate the local gradient magnitude Gn based on a 3×3neighbourhood window (shown in FIG. 7) from the input image data. Thelocal gradient estimation module 104 calculates the local gradientmagnitude Gn according to the following Equation 15:

G_(n)=(abs(X0+2*X1+X2−(X6+2*X7+X8))+abs(X0+2*X3+X6−(X2+2*X5+X8)))/8.  [Eqn.15]

The noise level estimator module 107 is coupled to the input module 108to estimate the noise level Sigma from the input image or video. Anexample of a suitable noise level estimator or detector is disclosed inU.S. Pat. No. 5,657,401, the content of which is incorporated herein byreference. Alternatively, the noise level can be predetermined beforetransmitting it to the system so as to simplify the implementation ofthe system.

The local gradient estimation module 104 and the noise level estimatormodule 107 are both coupled to the local sharpness control parameterfunction module 105, wherein the local gradient estimation module 104transmits the local gradient magnitude Gn to the local sharpness controlparameter function module 105, and wherein the noise level estimatormodule 107 transmits the noise level Sigma to the local sharpnesscontrol parameter function module 105. The local sharpness controlparameter function module 105 is configured to control the sharpnesscontrol module 102 using a transfer function, wherein the transferfunction indicates the relationship between the control parameter Kshpand the local image content. FIG. 8 illustrates an example of thetransfer function Kshp(Gn), wherein the transfer function Kshp(Gn) canbe defined according to the following Equation 16:

Kshp(Gn)=AKshp(Gn)+GKshp.  [Eqn. 16]

GKshp is a fixed value that is defined by the global sharpness controlparameter Kshp. AKshp(Gn) is a variable value that is defined by thecontrol parameters max K, min K, K1, K2, K3, and Sigma. The AKshp(Gn)can be expressed by a transfer function according to the followingEquation 17:

$\begin{matrix}{{{AKshp}\left( G_{n} \right)} = \left\{ \begin{matrix}{\frac{{{\min \; K}}*G_{n}}{Sigma} + {\min \; K}} & {{if}\mspace{14mu} \left( {G_{n} \leq {Sigma}} \right)} \\\frac{\max \; K*\left( {G_{n} - {Sigma}} \right)}{{K\; 1} - {Sigma}} & {{if}\mspace{14mu} \left( {{Sigma} < G_{n} \leq {K\; 1}} \right)} \\{\max \; K} & {{if}\mspace{14mu} \left( {{K\; 1} < G_{n} \leq {K\; 2}} \right)} \\\frac{\max \; K*\left( {{K\; 3} - G_{n}} \right)}{{K\; 3} - {K\; 2}} & {{if}\mspace{14mu} \left( {{K\; 2} < G_{n} \leq {K\; 3}} \right)} \\0 & {{else}.}\end{matrix} \right.} & \left\lbrack {{Eqn}.\mspace{14mu} 17} \right\rbrack\end{matrix}$

When the local gradient magnitude value (Gn) is lower than the noiselevel Sigma, the pixels are considered as being corrupted by noise. Inthis case, the sharpness control value will be lower than GKshp anddecreases linearly to a minimum value (min K+GKshp), as illustrated bysegment 801 in FIG. 8. When Gn is between the range of Sigma and K1, thesharpness control value increases linearly to achieve the maximum value(max K+GKshp) as illustrated by segment 802. The sharpness control valueis kept at the constant value (maxK+GKshp) until the Gn is larger thanK2. The pixels with gradient magnitudes Gn falling in the segment 802and segment 803 are considered as low and middle edges, respectively.Hence, higher sharpness control parameter values are used on these edgepixels. On the other hand, pixels with gradient magnitude Gn that islarger than K2 are considered as large edge pixels. The sharpnesscontrol parameter value then decreases linearly as shown by segment 804.For gradient magnitude Gn that is larger than K3, the sharpness controlparameter value is kept constant at GKshp as shown by segment 805.

Referring back to FIG. 1, the rescaling system further comprises theanti-aliasing filter 106 to reduce any aliasing artifacts during imagedownscaling. In particular, the input image data is coupled to theanti-aliasing filter 106 via a switch device 111. The switch device 111is configured to select or bypass the anti-aliasing filter 106 dependingon the rescaling factor. Suppose the rescaling factor is more than 1,the switch device 111 would bypass the anti-aliasing filter 106. If therescaling factor is less than 1, the switch device 111 would select theanti-aliasing filter 106. The anti-aliasing filter 106 then processesthe input image data and sends a filtered image data to the adaptivespline interpolation kernel 101.

The anti-aliasing filter 106 comprises a plurality of 1 D low passfilters that are activated according to a predetermined range ofdownscaling factors. FIG. 9 illustrates a block diagram of theanti-aliasing filter 106, which comprises a low pass filtering module901 and a low pass filter bank 902. During downscaling, one set offilter coefficients, h(m), is selected from the low pass filter bank 902according to the downscaling factor. The selected set of filtercoefficients are then applied on the input image data in the low passfiltering module 901 to produce the filtered image data to the adaptivespline interpolation kernel 101 according to the following Equation 18:

$\begin{matrix}{{y(n)} = {\sum\limits_{i = {n - {m/2}}}^{n + {m/2}}{{h(i)}*{{Y{in}}(i)}}}} & \left\lbrack {{Eqn}.\mspace{14mu} 18} \right\rbrack\end{matrix}$

where m is the length of the filter.

The low pass filter coefficients stored in the low pass filter bank 902are designed using finite impulse response (FIR) filter design methodsbased on adjustable Hanning window. The cutoff frequencies used in thefilter design depend on the downscaling factors. Therefore, differentdownscaling factors correspond to different low pass filters. In oneembodiment, eight filters are operated according to eight pre-dividedranges of downscaling factors. FIG. 10 shows an example of eight sets of7-tap low pass filter coefficients that are stored in the low passfilter bank 901. Furthermore, the effective range of the downscalingfactors is 0.20 to 0.99.

While this detailed description has set forth some embodiments of thepresent invention, the appended claims are sufficiently supported tocover and will cover other embodiments of the present invention whichdiffer from the described embodiments according to various modificationsand improvements.

1. A digital video rescaling system comprising: an input module configured to receive an input image data; an adaptive spline interpolation kernel coupled to the input module, wherein the adaptive spline interpolation kernel is configured to generate an interpolated pixel based on the input image data; a sharpness control module coupled to the adaptive spline interpolation kernel, wherein the sharpness control module is configured to generate sharpness control parameters to control the adaptive spline interpolation kernel; and an overshoot control module coupled to the adaptive spline interpolation kernel, wherein the overshoot control module is configured to generate overshoot control parameters to control the adaptive spline interpolation kernel.
 2. The digital video rescaling system of claim 1, wherein the adaptive spline interpolation kernel is configured to generate an interpolated pixel y₁(x) based on the following equation: ${{y_{1}(x)} = {\sum\limits_{{n = A},B,C,D}{y_{n}*{f_{n}\left( {s,{Kshp}} \right)}}}},$ wherein y_(A), y_(B), y_(C) and y_(D) are four support pixels from input image data, wherein s is the distance from interpolation position to the position of the support pixel y_(b), wherein Kshp is a global sharpness control parameter generated by the sharpness control module, and wherein f_(n)(s,Kshp) (n=A, B, C, D) are four control synthesis functions which can be expressed by the following equations: f _(A)(s,Kshp)=Kshp*(−s ³+2*s ² −s)/2; f _(B)(s,Kshp)=(3*Kshp*s ³−5*Kshp*s ²+2*(Kshp−1)*s+2)/2; f _(C)(s,Kshp)=(−3*Kshp*s ³+4*Kshp*s ²+(2−(Kshp)*s)/2; and f _(D)(s,Kshp)=Kshp*(s ³ −s ²)/2.
 3. The digital video rescaling system of claim 2, wherein the overshoot control module comprises: a max-min calculation unit configured to receive the data of pixels y_(B) and y_(C), and configured to calculate the maximum value and the minimum value of the support pixels y_(B) and y_(c); a comparator coupled to the max-min calculation unit and adaptive spline interpolation kernel, wherein the comparator is configured to compare the maximum value and the minimum value of the support pixels y_(B) and y_(c) with the interpolated pixel y₁(x) to generate an output y₂(x) according the following equation: ${y_{2}(x)} = \left\{ \begin{matrix} {\max \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} > {\max \left( {y_{B},y_{C}} \right)}} \right)} \\ {\min \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} < {\min \left( {y_{B},y_{C}} \right)}} \right)} \\ {y_{1}(x)} & {{else};} \end{matrix} \right.$ a subtractor coupled to the max-min calculation unit and the comparator, configured to subtract the outputs y₁(x) and y₂(x), thereby generating an output (y₁(x)−y₂(x)); and a multiplier coupled to the subtractor, wherein the multiplier is configured to multiply the output (y₁(x)−y₂(x)) by an overshoot control parameter Kovs to generate an output Kovs*(y₁(x)−y₂(x)); and whereby the final output y(x)=Kovs*(y₁(x)−y₂(x))+y₂(x) is based on the addition of y₂(x) to Kovs*(y₁(x)−y₂(x)).
 4. The digital video rescaling system of claim 1 further comprising a local sharpness control module to adapt the sharpness control module to the local image content of the input image data, wherein the local sharpness control module comprises: a local gradient estimation module coupled to the input module, wherein the local gradient estimation module is configured to generate a local gradient magnitude based on the input image data; a noise level estimator coupled to the input module, wherein the noise level estimator is configured to generate a noise level based on the input image data; and a local sharpness control parameter function module configured to control the sharpness control module using a transfer function based on the local gradient magnitude and the noise level.
 5. The digital video rescaling system of claim 4, wherein the transfer function of the local sharpness control parameter function module can be expressed as: Kshp(Gn)=AKshp(Gn)+GKshp, wherein GKshp is a fixed value that is defined by a global sharpness control parameter Kshp, AKshp(Gn) is a variable value that is defined by the control parameters max K, min K, K1, K2, K3, and Sigma, wherein Sigma is the noise level, wherein Gn is the local gradient magnitude; and wherein AKshp(Gn) can be expressed by a transfer function according to the following equation: ${{AKshp}\left( G_{n} \right)} = \left\{ \begin{matrix} {\frac{{{\min \; K}}*G_{n}}{Sigma} + {\min \; K}} & {{if}\mspace{14mu} \left( {G_{n} \leq {Sigma}} \right)} \\ \frac{\max \; K*\left( {G_{n} - {Sigma}} \right)}{{K\; 1} - {Sigma}} & {{if}\mspace{14mu} \left( {{Sigma} < G_{n} \leq {K\; 1}} \right)} \\ {\max \; K} & {{if}\mspace{14mu} \left( {{K\; 1} < G_{n} \leq {K\; 2}} \right)} \\ \frac{\max \; K*\left( {{K\; 3} - G_{n}} \right)}{{K\; 3} - {K\; 2}} & {{if}\mspace{14mu} \left( {{K\; 2} < G_{n} \leq {K\; 3}} \right)} \\ 0 & {{else}.} \end{matrix} \right.$
 6. The digital video rescaling system of claim 1 further comprising an anti-aliasing filter coupled between the input module and the adaptive spline interpolation kernel, wherein the anti-aliasing filter comprises a set of low pass filters that are configured to reduce aliasing artifacts during image downscaling.
 7. The digital video rescaling system of claim 6 further comprising a switch device coupled between the input module and the anti-aliasing filter, wherein the switch device is configured to activate the anti-aliasing filter during downscaling, and wherein the switch device is configured to deactivate the anti-aliasing filter during upscaling.
 8. A method of rescaling video images including: receiving data corresponding to an input image; calculating interpolated pixel values based on the input image data by using an adaptive spline interpolation kernel; generating sharpness control parameters to control the adaptive spline interpolation kernel by using a sharpness control module; and generating overshoot control parameters to control the adaptive spline interpolation kernel by using an overshoot control module.
 9. The method of claim 8, wherein the adaptive spline interpolation kernel is configured to generate an interpolated pixel y₁(x) based on the following equation: ${{y_{1}(x)} = {\sum\limits_{{n = A},B,C,D}{y_{n}*{f_{n}\left( {s,{Kshp}} \right)}}}},$ wherein y_(A), y_(B), y_(C) and y_(D) are four support pixels from input image data, wherein s is the distance from interpolation position to the position of the support pixel y_(b), wherein Kshp is a global sharpness control parameter generated by the sharpness control module, and wherein f_(n)(s,Kshp) (n=A, B, C, D) are four control synthesis functions which can be expressed by the following equations: f _(A)(s,Kshp)=Kshp*(−s ³+2*s ² −s)/2; f _(B)(s,Kshp)=(3*Kshp*s ³−5*Kshp*s ²+2*(Kshp−1)*s+2)/2; f ^(C)(s,Kshp)=(−3*Kshp*s ³+4*Kshp*s ²+(2−(Kshp)*s)/2; and f _(D)(s,Kshp)=Kshp*(s ³ −s ²)/2.
 10. The method of claim 9, wherein the operation of generating overshoot control parameters to control the adaptive spline interpolation kernel comprises: calculating a maximum value and a minimum value of the support pixels y_(B) and y_(c); comparing the maximum value and the minimum value of the support pixels y_(B) and y_(C) with the interpolated pixel y₁(x) to generate an output y₂(x) according the following equation: ${y_{2}(x)} = \left\{ \begin{matrix} {\max \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} > {\max \left( {y_{B},y_{C}} \right)}} \right)} \\ {\min \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} < {\min \left( {y_{B},y_{C}} \right)}} \right)} \\ {y_{1}(x)} & {{else};} \end{matrix} \right.$ subtracting the outputs y₁(x) and y₂(x) to generate an output (y₁(x)−y₂(x)); multiplying the output (y₁(x)−y₂(x)) by an overshoot control parameter Kovs to generate an output Kovs*(y₁(x)−y₂(x)); and generating the final output y(x)=Kovs*(y₁(x)−y₂(x))+y₂(x) by adding y₂(x) to the output Kovs*(y₁(x)−y₂(x)).
 11. The method of claim 8 further comprising: generating a local gradient magnitude based on the input image data; generating a noise level based on the input image data; and controlling the sharpness control module by using a transfer function based on the local gradient magnitude and the noise level.
 12. The method of claim 11, wherein the transfer function can be expressed as: Kshp(Gn)=AKshp(Gn)+GKshp, wherein GKshp is a fixed value that is defined by a global sharpness control parameter Kshp, AKshp(Gn) is a variable value that is defined by the control parameters max K, min K, K1, K2, K3, and Sigma, wherein Sigma is the noise level, wherein Gn is the local gradient magnitude, and wherein AKshp(Gn) can be expressed by a transfer function: ${{AKshp}\left( G_{n} \right)} = \left\{ \begin{matrix} {\frac{{{\min \; K}}*G_{n}}{Sigma} + {\min \; K}} & {{if}\mspace{14mu} \left( {G_{n} \leq {Sigma}} \right)} \\ \frac{\max \; K*\left( {G_{n} - {Sigma}} \right)}{{K\; 1} - {Sigma}} & {{if}\mspace{14mu} \left( {{Sigma} < G_{n} \leq {K\; 1}} \right)} \\ {\max \; K} & {{if}\mspace{14mu} \left( {{K\; 1} < G_{n} \leq {K\; 2}} \right)} \\ \frac{\max \; K*\left( {{K\; 3} - G_{n}} \right)}{{K\; 3} - {K\; 2}} & {{if}\mspace{14mu} \left( {{K\; 2} < G_{n} \leq {K\; 3}} \right)} \\ 0 & {{else}.} \end{matrix} \right.$
 13. The method of claim 8 further comprising: selecting a set of filter coefficients from a low pass filter bank according to a downscaling factor; and applying the set of filter coefficients on the input image data to reduce anti-aliasing effects during downscaling.
 14. A chip comprising a computer executable medium embedded therein computer executable instructions for rescaling video images, wherein the instructions comprise: receiving data corresponding to an input image; calculating interpolated pixel values based on the input image data by using an adaptive spline interpolation kernel; generating sharpness control parameters to control the adaptive spline interpolation kernel by using a sharpness control module; and generating overshoot control parameters to control the adaptive spline interpolation kernel by using an overshoot control module.
 15. The chip of claim 14, wherein the adaptive spline interpolation kernel is configured to generate an interpolated pixel y₁(x) based on the following equation: ${{y_{1}(x)} = {\sum\limits_{{n = A},B,C,D}{y_{n}*{f_{n}\left( {s,{Kshp}} \right)}}}},$ wherein y_(A), y_(B), y_(C) and y_(D)) are four support pixels from input image data, wherein s is the distance from interpolation position to the position of the support pixel y_(b), wherein Kshp is a global sharpness control parameter generated by the sharpness control module, and wherein f_(n)(s,Kshp) (n=A, B, C, D) are four control synthesis functions which can be expressed by the following equations: f _(A)(s,Kshp)=Kshp*(−s ³+2*s ² −s)/2; f _(B)(s,Kshp)=(3*Kshp*s ³−5*Kshp*s ²+2*(Kshp−1)*s+2)/2; f _(C)(s,Kshp)=(−3*Kshp*s ³+4*Kshp*s ²+(2−(Kshp)*s)/2; and f _(D)(s,Kshp)=Kshp*(s ³ −s ²)/2.
 16. The chip of claim 15, wherein the operation of generating overshoot control parameters to control the adaptive spline interpolation kernel comprises: calculating a maximum value and a minimum value of the support pixels y_(B) and y_(C); comparing the maximum value and the minimum value of the support pixels y_(B) and y_(C) with the interpolated pixel y₁(x) to generate an output y₂(x) according the following equation: ${y_{2}(x)} = \left\{ \begin{matrix} {\max \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} > {\max \left( {y_{B},y_{C}} \right)}} \right)} \\ {\min \left( {y_{B},y_{C}} \right)} & {{if}\mspace{14mu} \left( {{y_{1}(x)} < {\min \left( {y_{B},y_{C}} \right)}} \right)} \\ {y_{1}(x)} & {{else};} \end{matrix} \right.$ subtracting the outputs y₁(x) and y₂(x) to generate an output (y₁(x)−y₂(x)); multiplying the output (y₁(x)−y₂(x)) by an overshoot control parameter Kovs to generate an output Kovs*(y₁(x)−y₂(x)); and generating the final output y(x)=Kovs*(y₁(x)−y₂(x))+y₂(x) by adding y₂(x) to the output Kovs*(y₁(x)−y₂(x)).
 17. The chip of claim 14, wherein the instructions further comprise: generating a local gradient magnitude based on the input image data; generating a noise level based on the input image data; and controlling the sharpness control module by using a transfer function based on the local gradient magnitude and the noise level.
 18. The chip of claim 17, wherein the transfer function can be expressed as: Kshp(Gn)=AKshp(Gn)+GKshp, wherein GKshp is a fixed value that is defined by a global sharpness control parameter Kshp, AKshp(Gn) is a variable value that is defined by the control parameters max K, min K, K1, K2, K3, and Sigma, wherein Sigma is the noise level, wherein Gn is the local gradient magnitude, and wherein AKshp(Gn) can be expressed by a transfer function: ${{AKshp}\left( G_{n} \right)} = \left\{ \begin{matrix} {\frac{{{\min \; K}}*G_{n}}{Sigma} + {\min \; K}} & {{if}\mspace{14mu} \left( {G_{n} \leq {Sigma}} \right)} \\ \frac{\max \; K*\left( {G_{n} - {Sigma}} \right)}{{K\; 1} - {Sigma}} & {{if}\mspace{14mu} \left( {{Sigma} < G_{n} \leq {K\; 1}} \right)} \\ {\max \; K} & {{if}\mspace{14mu} \left( {{K\; 1} < G_{n} \leq {K\; 2}} \right)} \\ \frac{\max \; K*\left( {{K\; 3} - G_{n}} \right)}{{K\; 3} - {K\; 2}} & {{if}\mspace{14mu} \left( {{K\; 2} < G_{n} \leq {K\; 3}} \right)} \\ 0 & {{else}.} \end{matrix} \right.$
 19. The chip of claim 14, wherein the instructions further comprise: selecting a set of filter coefficients from a low pass filter bank according to a downscaling factor; and applying the set of filter coefficients on the input image data to reduce anti-aliasing effects during downscaling.
 20. The chip of claim 19, wherein the instructions further comprise: deactivating the set of filter coefficients on the input image data during upscaling. 